home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SuperHack
/
SuperHack CD.bin
/
SCRIPTZ
/
CLONEFND.ZIP
/
clonefnd.txt
Wrap
Text File
|
1996-12-23
|
3KB
|
87 lines
10/10/96 Hexadec's clone finder's for mIRC 4.6+
I have included 2 diffrent clone finders, one is fast and one
is slow =) The fast one requires the use of the IAL (Internal
address list) the other uses a /who #channel. In order to use
the fast clone scanner the box in Tools | remotes which says
"Internal Address List" must be checked. Also the IAL must be
fully updated, this can be done by typing /who #channel. I find
the best way to do this is add the following line to remote |
events.
1:on join:#:if ($nick = $me) { .enable #clone_check | who $chan }
This will fully update the IAL whenever you join a channel (it
will also scan for clones. It is a good idea to change # to
#Channel_Which_You_Op_In eg. #lamers) the /who #channel only
only needs to be performed once, after that mIRC will take care
of all the updating. Boy I'm long winded ;)
Channel Popups:
»»»»»»»»»»»»»»»
Clone Scan W/Who:who $chan | .enable #clone_scan
Fast Clone Scan: {
:n
inc %i
if ($nick(%i,$chan) != $null) {
if ($address($nick(%i,$chan),0) = $null) { echo 4 $chan Your IAL isnt fully updated. Please read the text file accompanying this script. | goto x }
%y = $readini scan.ini x $address($nick(%i,$chan),3)
if (%y != $null) {
if ($address($nick(%i,$chan),3) !isin %s) { %s = %s $address($nick(%i,$chan),3) }
}
writeini scan.ini x $address($nick(%i,$chan),3) . $+ $nick(%i,$chan) $readini scan.ini x $address($nick(%i,$chan),3)
goto n
}
else {
if ($null == %s) { echo 4 $chan There are no clones in $chan }
:x
inc %z
if ($token(%z,32,%s) != $null) {
echo 4 $chan There are $count( [ $readini [ scan.ini x $token(%z,32,%s) ] ] ,.) clients from $token(%z,32,%s)
echo 4 $chan $remove( [ $readini [ scan.ini x $token(%z,32,%s) ] ] ,.)
goto x
}
}
:z
unset %i %z %s %y
remini scan.ini x
}
Raw:
»»»»
#clone_scan disabled
352:* {
%y = $readini scan.ini x $parm4
if (%y != $null) {
if ($parm4 !isin %s) { %s = %s $parm4 }
}
writeini scan.ini x $parm4 . $+ $parm6 $readini scan.ini x $parm4
halt
}
315:* {
if (%s == $null) { echo 4 -a There are no clones }
:x
inc %z
if ($token(%z,32,%s) != $null) {
echo 4 -a There are $count( [ $readini [ scan.ini x $token(%z,32,%s) ] ] ,.) clients from *!*@ $+ $token(%z,32,%s)
echo 4 -a $remove( [ $readini [ scan.ini x $token(%z,32,%s) ] ] ,.)
goto x
}
unset %i %z %s %y
remini scan.ini x
.disable #clone_scan
halt
}
#clone_scan end
Note: If you're wondering why I used writeini/$readini instead of variables it is
because using ini's works about two times faster than using variables!
With my 486/25mhz with 4 megs of ram it takes me about 15 seconds
to scan a channel with 200 clients using variables. But using write/readini
it only takes 6 (I'm talking about the IAL scanner here, not the /who
#channel scanner). This is with the *EXACT* same routine. Of course
with a faster computer it would be *alot* quicker. =) Using ini's is faster
because mIRC uses windows ini routine which is faster than the one it
uses for variables. You can thank bfriendly for telling me using ini's is
faster and Khaled for telling me why =)